OpenAI 揭秘其 AI浏览器 ChatGPT Atlas 是如何打造的 | XiaoHu.AI 学院
OpenAI 推出了一个全新的AI浏览器 —— ChatGPT Atlas。
它不是普通的浏览器,而是一种新的上网方式:
你上网时,ChatGPT 永远在旁边,帮你理解网页、总结内容、执行操作,比如:
查找信息
填写表单
比较产品
自动执行任务
要实现这一点,ChatGPT 不能只是“在浏览器上运行”
它必须变成浏览器的一部分。
这意味着:ChatGPT 不只是看网页,而是要直接理解网页结构、与内容互动、还能控制它。
问题:为什么要重造浏览器?
现有浏览器(例如 Chrome、Edge、Brave)都是基于 Chromium 打造的。
Chromium 是一个非常复杂的系统,用来渲染网页、执行 JS、管理安全等。
它的优点是稳定、安全、兼容性强。
但它也有一些限制,特别是当你想让浏览器变得“智能化”时。
❌ 主要问题有:
OpenAI 的目标是打造一款:
“启动几乎瞬间完成、永不崩溃、支持上百个标签页、还能与 ChatGPT 紧密配合”的浏览器。
于是,他们决定不照搬 Chromium,而是重新设计浏览器的架构。
为了实现这一目标,OpenAI 需要重新设计浏览器的架构,特别是如何将 ChatGPT 与浏览器引擎 Chromium 整合在一起,确保浏览体验既顺畅又高效。
在这个过程中,OpenAI 提出了一个新的架构方案 —— OWL(OpenAI’s Web Layer)。OWL 是他们为了解决性能、稳定性以及快速迭代问题而开发的一层新架构。
解决方案:OWL(OpenAI’s Web Layer)
OWL 是 OpenAI 专门为 Atlas 打造的全新架构层。
它的核心思想非常简单但强大:
把 Chromium(浏览器引擎)从主程序中分离出来,让它在后台独立运行。
想象一下:
普通浏览器 = 一台电脑里放所有零件。
Atlas + OWL = 把浏览器引擎单独放在另一个“房间”里运行,然后主界面(SwiftUI)用一条“高速通道”与它通信。
OWL 架构:重新构建浏览器的基础
OWL,即 OpenAI Web Layer,是 OpenAI 提出的新架构方案,目的是将 Chromium 引擎 与 ChatGPT Atlas 应用分开。通过这种分离,OpenAI 可以在不牺牲性能和用户体验的前提下,灵活地管理和定制浏览器功能。
OWL 就像一个中间层,把浏览器的大脑(Chromium 引擎)从主程序中分离出来。
让 Atlas 变得:
启动更快;
不容易崩;
运行更流畅;
开发起来更简单。
为什么要这么做?
普通浏览器(像 Chrome)里面,渲染引擎、界面、标签页都绑在一起。
一旦某个网页卡住,整个浏览器都可能卡住。
而 Atlas 把它们分开了:
Chromium 负责网页逻辑;
Atlas 负责漂亮的界面和交互;
它们通过一套安全通道(Mojo)交流。
OWL 是怎么工作的?
OWL 的结构分为两部分:
两者通过 Mojo IPC(进程通信系统) 连接。
Mojo 是 Chromium 原生的消息通道系统,速度快、延迟低。
OpenAI 还为它写了 Swift 版本的接口,使得 SwiftUI 应用能直接“遥控” Chromium。
Chromium 独立运行: 传统的浏览器将 Chromium 引擎和应用界面紧密集成,而 OWL 将 Chromium 的浏览器引擎“分离”到一个单独的进程中。这样,浏览器的渲染、网页交互等任务由 Chromium 来处理,而 UI 和用户交互则由 Atlas 负责。
OWL Client(Atlas):负责与用户进行交互,显示浏览器界面,控制浏览器操作。
OWL Host(Chromium):负责处理网页渲染和网页内的所有任务。
进程间通信(IPC): 为了让这两个进程能够高效通信,OpenAI 使用了 Mojo,这是 Chromium 本身的消息传递系统。通过自定义的 Swift 和 TypeScript 绑定,Atlas 可以直接调用 Chromium 进程中的功能,实现快速的信息交换。
OWL 提供的核心功能接口
OWL 对外暴露了一组简洁的 Swift API,开发者用这些接口就能控制 Chromium:
OWL 架构的设计不仅解决了性能和开发效率问题,还为开发者提供了强大的功能支持。以下是 OWL 的一些核心功能和组件:
WebView:负责显示网页内容,并与用户进行交互。它支持常见的网页操作,比如滚动、缩放、点击等。
Session 和 Profile:管理浏览器的会话状态和用户数据。在不同用户之间进行隔离,确保浏览体验的一致性和安全性。
WebContentRenderer:负责将用户的输入事件(如点击、键盘输入)传递到 Chromium 的渲染管线,并接收反馈结果。
LayerHost/Client:在 UI 和 Chromium 之间交换合成信息,确保网页内容与应用界面的一致性,避免出现卡顿或错位的情况。
Agent Browsing:特别适用于 ChatGPT Atlas 中的 Agent 模式,它允许 ChatGPT 在浏览器中执行自动化任务(例如填写表单、选择选项等),并将这些事件传递到 Chromium 引擎,同时确保安全性和隐私保护。
图像与界面层如何协作?
Atlas 的界面是用 SwiftUI + Metal 打造的。
Chromium 渲染网页后,会输出一张 GPU 图像(CALayer)。
Atlas 会把这张图像嵌入自己的界面层中。
例如:
你在 Atlas 打开网页 → Chromium 渲染 → 输出一张 GPU 图像;
Atlas 的窗口(SwiftUI)通过 CALayerHost 把这张图像“贴”上去;
结果:你看到的网页是 Chromium 画的,但界面是 SwiftUI 控制的。
这种方式的好处是:
不用在 Chromium 内改 UI;
还能在外层做漂亮的动画、特效;
如果 Chromium 崩溃,Atlas UI 不受影响。
🎯 输入事件怎么处理?
Atlas 的界面捕获键盘、鼠标事件,然后:
Swift 层把事件转成 Chromium 能懂的格式;
用 Mojo 通信发给 OWL Host;
Chromium 渲染器处理事件;
如果网页没响应事件,Chromium 会回传;
Atlas 再重新生成 macOS 事件,交给其他 UI 元素处理。
这种“事件往返”机制保证:
输入响应真实;
Chromium 不会“抢走”系统级快捷键;
界面保持独立。
Agent 模式的特别挑战
ChatGPT Atlas 有个特别功能 —— Agent Browsing。
也就是让 ChatGPT “亲自操作网页”,比如填写表单、点击按钮。
这对浏览器架构是一个巨大挑战,因为:
有些网页元素(如下拉菜单)在网页区域外显示;
ChatGPT 需要看到完整的视觉画面;
同时还要保证安全(不能让 AI 操作浏览器本身)。
OWL 的解决方式:
完整画面合成
OWL 把所有网页弹窗和独立 UI(如下拉菜单)都重新绘制到一个大画面上,
这样 ChatGPT “看到”的页面就是完整的一帧。事件安全路由
ChatGPT 产生的点击、输入事件只会发给网页渲染器,
不会触发浏览器自身的快捷键或菜单。无痕临时模式(Ephemeral Session)
Agent 浏览在一个完全独立的临时环境中运行:没有共享 cookies
没有浏览历史
会话结束即销毁
多个 agent 互不干扰
这样就保证了安全、隐私与隔离性。
OWL 架构带来的优势
当你让 ChatGPT 去浏览网页、填写表单或理解页面时,它需要:
看见完整页面(包括弹窗、下拉菜单);
模拟鼠标键盘操作;
但又不能触发浏览器本身的危险操作。
OWL 通过特殊渲染和输入隔离机制,让这些都能安全发生。
此外,Agent 模式在“无痕状态”下运行——不会共享或泄露你的登录数据。
更快的启动速度: 由于 Chromium 在后台异步启动,Atlas 可以几乎瞬间显示用户界面,而不需要等待浏览器引擎完全加载。
性能隔离: 如果 Chromium 进程发生故障或卡顿,Atlas 仍然能保持正常运行,因为它与 Chromium 进程是相互独立的。这样,即使浏览器崩溃,用户的浏览体验也不会受到影响。
简化开发和维护: 由于 Atlas 不需要在 Chromium 的开源 UI 上做大量定制,OpenAI 对 Chromium 的修改变得更加简洁,减少了维护的复杂性。开发者可以更快速地进行功能迭代,并避免频繁的合并冲突。
更快的开发速度: OpenAI 为大多数工程师提供了预构建的 OWL 二进制文件,这意味着开发者不再需要构建 Chromium 内核,只需要关注 Atlas 的功能开发,极大地提高了开发速度。
如何确保隐私和安全
为了保护用户的隐私和数据安全,OpenAI 在 Agent 浏览模式 中采取了多项措施:
隔离的浏览会话:每次打开新的浏览会话时,Atlas 会使用 Chromium 的 StoragePartition 技术创建一个全新的、内存中存储的数据环境。这样,每次 agent 会话都会是全新的,不会泄露其他会话的数据。
防止数据泄露:不同 agent 会话之间的数据是完全隔离的,保证不会互相干扰或泄露用户的敏感信息。
总结
你可以把 OWL 理解成这样:
🏠 Atlas 就像一栋漂亮的房子,里面有很多房间(标签页)。
💥 Chromium 就像一个强大的电力系统,负责让房子“亮起来”。
🧵 OWL 就是那根超级电缆,让两者通信又互不干扰。
以前的浏览器里,这些都绑在一起;
现在,Atlas 把它们拆开,用 OWL 把它们安全、高效地连起来。
